Skip to content

support Node.js v26#1016

Merged
kkoopa merged 1 commit into
nodejs:mainfrom
IlyasShabi:ishabi/v26-support
May 12, 2026
Merged

support Node.js v26#1016
kkoopa merged 1 commit into
nodejs:mainfrom
IlyasShabi:ishabi/v26-support

Conversation

@IlyasShabi
Copy link
Copy Markdown
Member

This PR adds support for Node.js v26.

It comes with V8 14.6 which introduces breaking changes around v8::PropertyCallbackInfo :

  • Holder() is removed -> HolderV2().
  • This() is removed.
  • ReturnValue<void>::Set(Local<S>) no longer accepts object values

Comment thread nan_callbacks_12_inl.h
#endif
}
inline v8::Local<v8::Object> Holder() const {
#if defined(NAN_HAS_PROPERTY_CALLBACK_INFO_HOLDER_V2)
Copy link
Copy Markdown
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Comment thread nan_callbacks_12_inl.h
#if defined(NAN_HAS_PROPERTY_CALLBACK_INFO_HOLDER_V2)
template<>
template <typename S>
inline void ReturnValue<void>::Set(const v8::Local<S> &) {}
Copy link
Copy Markdown
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@IlyasShabi IlyasShabi marked this pull request as ready for review May 5, 2026 21:26
@IlyasShabi
Copy link
Copy Markdown
Member Author

I believe failure on Node.js v16 and v17 are not related to my changes 🤔 Can someone help on this please?

@agracio
Copy link
Copy Markdown
Contributor

agracio commented May 6, 2026

CI on Node.js v16 and v17 no longer runs on nan including release branch.
For me the issue with this change is conflict with #1015 which resolves compile errors when using v8 14.8.

@cesco69
Copy link
Copy Markdown
Contributor

cesco69 commented May 7, 2026

The CI fails on v16 and v17 on current release branch see #1018

@IlyasShabi
Copy link
Copy Markdown
Member Author

For me the issue with this change is conflict with #1015 which resolves compile errors when using v8 14.8.

@agracio Both PRs touch nan_callbacks_12_inl.h, so a small rebase conflict is possible depending on merge order, but the fixes are for different V8 API changes and should be compatible.

@IlyasShabi
Copy link
Copy Markdown
Member Author

@agracio is this one good to land?

@agracio
Copy link
Copy Markdown
Contributor

agracio commented May 12, 2026

I am not a maintainer of nan, to my knowledge only @kkoopa can approve, merge and release.

@kkoopa
Copy link
Copy Markdown
Collaborator

kkoopa commented May 12, 2026

This looks good to me. I have no clue why the two checks are failing, seems like the CI environment or node and its packages has broken itself somehow, but it is not related to this PR.

@kkoopa
Copy link
Copy Markdown
Collaborator

kkoopa commented May 12, 2026

The errors seem to stem from this not being available before 18.19 https://nodejs.org/api/diagnostics_channel.html#diagnostics_channeltracingchannelnameorchannels, but I do not know what it is, nor what or why something is relying on it.

@kkoopa kkoopa merged commit ed08562 into nodejs:main May 12, 2026
32 of 36 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants